/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DataAccess.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Calendar;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Domenico
 */
@Entity
@Table(name = "ordinecliente")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Ordinecliente.findAll", query = "SELECT o FROM Ordinecliente o"),
    @NamedQuery(name = "Ordinecliente.findByIdOrdineCliente", query = "SELECT o FROM Ordinecliente o WHERE o.idOrdineCliente = :idOrdineCliente"),
    @NamedQuery(name = "Ordinecliente.findByData", query = "SELECT o FROM Ordinecliente o WHERE o.data = :data"),
    @NamedQuery(name = "Ordinecliente.findByNFattura", query = "SELECT o FROM Ordinecliente o WHERE o.nFattura = :nFattura"),
    @NamedQuery(name = "Ordinecliente.findByPagamento", query = "SELECT o FROM Ordinecliente o WHERE o.pagamento = :pagamento"),
    @NamedQuery(name = "Ordinecliente.findBySubTotale", query = "SELECT o FROM Ordinecliente o WHERE o.subTotale = :subTotale"),
    @NamedQuery(name = "Ordinecliente.findByScIncondizionato", query = "SELECT o FROM Ordinecliente o WHERE o.scIncondizionato = :scIncondizionato"),
    @NamedQuery(name = "Ordinecliente.findByTotaleImponibile", query = "SELECT o FROM Ordinecliente o WHERE o.totaleImponibile = :totaleImponibile"),
    @NamedQuery(name = "Ordinecliente.findByTotaleIva", query = "SELECT o FROM Ordinecliente o WHERE o.totaleIva = :totaleIva"),
    @NamedQuery(name = "Ordinecliente.findByTotaleFattura", query = "SELECT o FROM Ordinecliente o WHERE o.totaleFattura = :totaleFattura")})

public class Ordinecliente implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "idOrdineCliente")
    private Integer idOrdineCliente;
    @Basic(optional = false)
    @Column(name = "data")
    @Temporal(TemporalType.DATE)
    private Calendar data;
    @Basic(optional = false)
    @Column(name = "nFattura")
    private int nFattura;
    @Basic(optional = false)
    @Column(name = "pagamento")
    private String pagamento;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Basic(optional = false)
    @Column(name = "SubTotale")
    private BigDecimal subTotale;
    @Basic(optional = false)
    @Column(name = "ScIncondizionato")
    private BigDecimal scIncondizionato;
    @Basic(optional = false)
    @Column(name = "TotaleImponibile")
    private BigDecimal totaleImponibile;
    @Basic(optional = false)
    @Column(name = "TotaleIva")
    private BigDecimal totaleIva;
    @Basic(optional = false)
    @Column(name = "TotaleFattura")
    private BigDecimal totaleFattura;

    public Ordinecliente() {
    }

    public Ordinecliente(Integer idOrdineCliente) {
        this.idOrdineCliente = idOrdineCliente;
    }

    public Ordinecliente(Integer idOrdineCliente, Calendar data, int nFattura, String pagamento, BigDecimal subTotale, BigDecimal scIncondizionato, BigDecimal totaleImponibile, BigDecimal totaleIva, BigDecimal totaleFattura) {
        this.idOrdineCliente = idOrdineCliente;
        this.data = data;
        this.nFattura = nFattura;
        this.pagamento = pagamento;
        this.subTotale = subTotale;
        this.scIncondizionato = scIncondizionato;
        this.totaleImponibile = totaleImponibile;
        this.totaleIva = totaleIva;
        this.totaleFattura = totaleFattura;
    }

    public Integer getIdOrdineCliente() {
        return idOrdineCliente;
    }

    public void setIdOrdineCliente(Integer idOrdineCliente) {
        this.idOrdineCliente = idOrdineCliente;
    }

    public Calendar getData() {
        return data;
    }

    public void setData(Calendar data) {
        this.data = data;
    }

    public int getNFattura() {
        return nFattura;
    }

    public void setNFattura(int nFattura) {
        this.nFattura = nFattura;
    }

    public String getPagamento() {
        return pagamento;
    }

    public void setPagamento(String pagamento) {
        this.pagamento = pagamento;
    }

    public BigDecimal getSubTotale() {
        return subTotale;
    }

    public void setSubTotale(BigDecimal subTotale) {
        this.subTotale = subTotale;
    }

    public BigDecimal getScIncondizionato() {
        return scIncondizionato;
    }

    public void setScIncondizionato(BigDecimal scIncondizionato) {
        this.scIncondizionato = scIncondizionato;
    }

    public BigDecimal getTotaleImponibile() {
        return totaleImponibile;
    }

    public void setTotaleImponibile(BigDecimal totaleImponibile) {
        this.totaleImponibile = totaleImponibile;
    }

    public BigDecimal getTotaleIva() {
        return totaleIva;
    }

    public void setTotaleIva(BigDecimal totaleIva) {
        this.totaleIva = totaleIva;
    }

    public BigDecimal getTotaleFattura() {
        return totaleFattura;
    }

    public void setTotaleFattura(BigDecimal totaleFattura) {
        this.totaleFattura = totaleFattura;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idOrdineCliente != null ? idOrdineCliente.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Ordinecliente)) {
            return false;
        }
        Ordinecliente other = (Ordinecliente) object;
        if ((this.idOrdineCliente == null && other.idOrdineCliente != null) || (this.idOrdineCliente != null && !this.idOrdineCliente.equals(other.idOrdineCliente))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "DataAccess.entity.Ordinecliente[ idOrdineCliente=" + idOrdineCliente + " ]";
    }
    
}
